/**
 * @project_name staff_vehicle
 * @package_name com.ssh.dao
 * @desc TODO
 * @param
 * @author jack
 * @date 2013-4-23
 * @time 下午1:25:58
 */
package com.ssh.dao;

import java.sql.Timestamp;
import java.util.List;

import com.ssh.entity.VcarTable;
import com.ssh.entity.Vehicle;
import com.ssh.model.pdata.VVisitorMPData;

/**
 * @author jack
 *
 */
public interface VcarTableDAOI {
	public VcarTable queryVcarTableByVcarTableId(String vcarTableId);
	public VcarTable updateVcarTable(VcarTable vcarTable);
	public VcarTable deleteVcarTableByVcarTableId(String vcarTableId);
	public VcarTable addVcarTable(VcarTable vcarTable);
	public List<VcarTable> queryVcarTable(String ...strings);
	public int updateVcarTable(VcarTable ...vcarTables);
	public int deleteVcarTable(String ...strings);
	public int addVcarTable(VcarTable ...vcarTables);

	public List<VVisitorMPData> queryAllVVisitor();
	public List<VVisitorMPData> queryVVisitorBV(VcarTable vcarTable);
	public List<VVisitorMPData> queryVVisitorBV(Vehicle vehicle);
	public List<VVisitorMPData> queryVVisitorBV(String vehicleId);
	public List<VVisitorMPData> queryBVV(VcarTable vcarTable, Vehicle vehicle);
	public List<VVisitorMPData> queryBVV(Vehicle vehicle , VcarTable vcarTable);

	/**
	 * @param vehicleId
	 * @param visitorId
	 * @param state
	 * @return
	 */
	public VVisitorMPData queryAllLVVInfo(String vehicleId, String visitorId,
			String state);
	/**
	 * @param vehicleId
	 * @param visitorId
	 * @param inTime
	 * @return
	 * 查询某一来访人员某一时间信息
	 */
	public VVisitorMPData queryOneVVisitor(String vehicleId, String visitorId,
			Timestamp inTime);
	/**
	 * @param vehicleId
	 * @param inTime
	 * @return
	 * 查询某一来访人员某一时间信息
	 */
	public VVisitorMPData queryOneVVisitor(String vehicleId, Timestamp inTime);

	/**
	 * @param vehicleId
	 * @param inTime
	 * @return
	 * 查询某一来访人员的信息
	 */
	public List<VVisitorMPData> queryVVisitorByVehicleId(String vehicleId);


	/**
	 * @param vehicleId
	 * @param inTime
	 * @return
	 * 查询某一时间来访人员信息
	 */
	public List<VVisitorMPData> queryVVisitorByInTime(Timestamp inTime);
	/**
	 * @param uniqueId
	 * @param state
	 * @return
	 */
	public VVisitorMPData queryAllLVVInfo(String uniqueId, String state);

	/**
	 * @param uniqueId
	 * @param state
	 * @return
	 */
	public VVisitorMPData queryByVehicleId(String uniqueId, String state);

}
